/*
 * BuscarRepresentante.java
 *
 * Created on 01/06/2009, 14:38:52
 * Copyright Administrador
 */
package Soligee.view;

import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeAlterarImplements;
import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeBuscarImplements;

import Soligee.controller.facade.sessionFacadeImplements.SessionFacadeRemoverImplements;
import Soligee.decorador.PaginacaoListaDezEmDez;
import Soligee.decorador.ValidaCamposObrigatorios;
import Soligee.model.vo.cadastros.CidadeVO;
import Soligee.model.vo.cadastros.EnderecoVO;
import Soligee.model.vo.cadastros.RepresentanteVO;
import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlCommandLink;
import com.icesoft.faces.component.ext.HtmlDataTable;
import com.icesoft.faces.component.ext.HtmlInputText;
import com.icesoft.faces.component.ext.HtmlOutputText;
import com.icesoft.faces.component.ext.HtmlPanelGroup;
import com.icesoft.faces.component.ext.HtmlSelectOneMenu;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectedData;
import com.icesoft.faces.component.jsfcl.data.DefaultSelectionItems;
import com.icesoft.faces.component.jsfcl.data.DefaultTableDataModel;
import com.icesoft.faces.component.jsfcl.data.PopupBean;
import com.icesoft.faces.component.jsfcl.data.SelectInputDateBean;
import com.icesoft.faces.component.panelpopup.PanelPopup;
import com.icesoft.faces.component.paneltabset.PanelTabSet;
import com.icesoft.faces.component.selectinputdate.SelectInputDate;
import com.icesoft.faces.component.selectinputtext.SelectInputText;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.faces.FacesException;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;

public class BuscarRepresentante extends AbstractPageBean {
    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">

    private int __placeholder;
    private DefaultSelectionItems item; //item do autocomplete
    private List<RepresentanteVO> listaDeRepresentantes = new ArrayList();  //lista para preencher a tabela
    private static RepresentanteVO representante;
    private static EnderecoVO endereco;
    private int controlaSaida = 0;
    private static PaginacaoListaDezEmDez paginacaoBusca;
    private ValidaCamposObrigatorios valida = new ValidaCamposObrigatorios();

    public static PaginacaoListaDezEmDez getPaginacaoBusca() {
        return paginacaoBusca;
    }

    public static void setPaginacaoBusca(PaginacaoListaDezEmDez paginacaoBusca) {
        BuscarRepresentante.paginacaoBusca = paginacaoBusca;
    }

    
    private int controlaPopUp = 0;

    public DefaultSelectionItems getItem() {
        return item;
    }

    public void setItem(DefaultSelectionItems item) {
        this.item = item;
    }

    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
    }
    private DefaultSelectedData selectOneMenu1Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectOneMenu1Bean() {
        return selectOneMenu1Bean;
    }

    public void setSelectOneMenu1Bean(DefaultSelectedData dsd) {
        this.selectOneMenu1Bean = dsd;
    }
    private HtmlSelectOneMenu tipoBusca = new HtmlSelectOneMenu();

    public HtmlSelectOneMenu getTipoBusca() {
        return tipoBusca;
    }

    public void setTipoBusca(HtmlSelectOneMenu hsom) {
        this.tipoBusca = hsom;
    }
    private HtmlCommandButton btn_editar1 = new HtmlCommandButton();

    public HtmlCommandButton getBtn_editar1() {
        return btn_editar1;
    }

    public void setBtn_editar1(HtmlCommandButton hcb) {
        this.btn_editar1 = hcb;
    }
    private HtmlCommandButton btn_excluir1 = new HtmlCommandButton();

    public HtmlCommandButton getBtn_excluir1() {
        return btn_excluir1;
    }

    public void setBtn_excluir1(HtmlCommandButton hcb) {
        this.btn_excluir1 = hcb;
    }
    private HtmlInputText campoNomeCompleto = new HtmlInputText();

    public HtmlInputText getCampoNomeCompleto() {
        return campoNomeCompleto;
    }

    public void setCampoNomeCompleto(HtmlInputText hit) {
        this.campoNomeCompleto = hit;
    }
    private HtmlInputText campoTelefone = new HtmlInputText();

    public HtmlInputText getCampoTelefone() {
        return campoTelefone;
    }

    public void setCampoTelefone(HtmlInputText hit) {
        this.campoTelefone = hit;
    }
    private HtmlInputText campoEMail = new HtmlInputText();

    public HtmlInputText getCampoEMail() {
        return campoEMail;
    }

    public void setCampoEMail(HtmlInputText hit) {
        this.campoEMail = hit;
    }
    private HtmlCommandLink linkCancelar = new HtmlCommandLink();

    public HtmlCommandLink getLinkCancelar() {
        return linkCancelar;
    }

    public void setLinkCancelar(HtmlCommandLink hcl) {
        this.linkCancelar = hcl;
    }
    private HtmlCommandButton btn_buscar = new HtmlCommandButton();

    public HtmlCommandButton getBtn_buscar() {
        return btn_buscar;
    }

    public void setBtn_buscar(HtmlCommandButton hcb) {
        this.btn_buscar = hcb;
    }
    private SelectInputDateBean selectInputDate1Bean = new SelectInputDateBean();

    public SelectInputDateBean getSelectInputDate1Bean() {
        return selectInputDate1Bean;
    }

    public void setSelectInputDate1Bean(SelectInputDateBean sidb) {
        this.selectInputDate1Bean = sidb;
    }
    //Opcao Uf
    private DefaultSelectedData botaoSelecionadoOpcaoUf = new DefaultSelectedData();

    public DefaultSelectedData getBotaoSelecionadoOpcaoUf() {
        return botaoSelecionadoOpcaoUf;
    }

    public void setBotaoSelecionadoOpcaoUf(DefaultSelectedData dsd) {
        this.botaoSelecionadoOpcaoUf = dsd;
    }
    private DefaultSelectionItems botaoOpcaoUf = new DefaultSelectionItems();

    public DefaultSelectionItems getBotaoOpcaoUf() {
        return botaoOpcaoUf;
    }

    public void setBotaoOpcaoUf(DefaultSelectionItems dsi) {
        this.botaoOpcaoUf = dsi;
    }
    private PanelTabSet painelAbasRepresentante = new PanelTabSet();

    public PanelTabSet getPainelAbasRepresentante() {
        return painelAbasRepresentante;
    }

    public void setPainelAbasRepresentante(PanelTabSet pts) {
        this.painelAbasRepresentante = pts;
    }
    private HtmlCommandButton btnAlterar = new HtmlCommandButton();

    public HtmlCommandButton getBtnAlterar() {
        return btnAlterar;
    }

    public void setBtnAlterar(HtmlCommandButton hcb) {
        this.btnAlterar = hcb;
    }
    private HtmlCommandButton btn_excluir = new HtmlCommandButton();

    public HtmlCommandButton getBtn_excluir() {
        return btn_excluir;
    }

    public void setBtn_excluir(HtmlCommandButton hcb) {
        this.btn_excluir = hcb;
    }
    private DefaultSelectedData botaoSelecionadoTipoBusca = new DefaultSelectedData();

    public DefaultSelectedData getBotaoSelecionadoTipoBusca() {
        return botaoSelecionadoTipoBusca;
    }

    public void setBotaoSelecionadoTipoBusca(DefaultSelectedData dsd) {
        this.botaoSelecionadoTipoBusca = dsd;
    }
    private DefaultSelectionItems botaoTipoBusca = new DefaultSelectionItems();

    public DefaultSelectionItems getBotaoTipoBusca() {
        return botaoTipoBusca;
    }

    public void setBotaoTipoBusca(DefaultSelectionItems dsi) {
        this.botaoTipoBusca = dsi;
    }
    private DefaultTableDataModel dataTable1Model = new DefaultTableDataModel();

    public DefaultTableDataModel getDataTable1Model() {
        return dataTable1Model;
    }

    public void setDataTable1Model(DefaultTableDataModel dtdm) {
        this.dataTable1Model = dtdm;
    }
    private HtmlDataTable tabelaResultadoBusca = new HtmlDataTable();

    public HtmlDataTable getTabelaResultadoBusca() {
        return tabelaResultadoBusca;
    }

    public void setTabelaResultadoBusca(HtmlDataTable hdt) {
        this.tabelaResultadoBusca = hdt;
    }
    private HtmlInputText campoNome = new HtmlInputText();

    public HtmlInputText getCampoNome() {
        return campoNome;
    }

    public void setCampoNome(HtmlInputText hit) {
        this.campoNome = hit;
    }
    private HtmlInputText campoEmail = new HtmlInputText();

    public HtmlInputText getCampoEmail() {
        return campoEmail;
    }

    public void setCampoEmail(HtmlInputText hit) {
        this.campoEmail = hit;
    }
    private HtmlInputText campoCodigo = new HtmlInputText();

    public HtmlInputText getCampoCodigo() {
        return campoCodigo;
    }

    public void setCampoCodigo(HtmlInputText hit) {
        this.campoCodigo = hit;
    }
    private SelectInputDate dataCadastro = new SelectInputDate();

    public SelectInputDate getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(SelectInputDate sid) {
        this.dataCadastro = sid;
    }
    private HtmlInputText campoTelefoneCelular = new HtmlInputText();

    public HtmlInputText getCampoTelefoneCelular() {
        return campoTelefoneCelular;
    }

    public void setCampoTelefoneCelular(HtmlInputText hit) {
        this.campoTelefoneCelular = hit;
    }
    private HtmlInputText campoPaginaWeb = new HtmlInputText();

    public HtmlInputText getCampoPaginaWeb() {
        return campoPaginaWeb;
    }

    public void setCampoPaginaWeb(HtmlInputText hit) {
        this.campoPaginaWeb = hit;
    }
    private HtmlInputText campoTelefoneComercial = new HtmlInputText();

    public HtmlInputText getCampoTelefoneComercial() {
        return campoTelefoneComercial;
    }

    public void setCampoTelefoneComercial(HtmlInputText hit) {
        this.campoTelefoneComercial = hit;
    }
    private HtmlCommandLink link_proximoPassoAba01 = new HtmlCommandLink();

    public HtmlCommandLink getLink_proximoPassoAba01() {
        return link_proximoPassoAba01;
    }

    public void setLink_proximoPassoAba01(HtmlCommandLink hcl) {
        this.link_proximoPassoAba01 = hcl;
    }
    private HtmlPanelGroup painelPrincipal = new HtmlPanelGroup();

    public HtmlPanelGroup getPainelPrincipal() {
        return painelPrincipal;
    }

    public void setPainelPrincipal(HtmlPanelGroup hpg) {
        this.painelPrincipal = hpg;
    }
    private HtmlInputText campoNumero = new HtmlInputText();

    public HtmlInputText getCampoNumero() {
        return campoNumero;
    }

    public void setCampoNumero(HtmlInputText hit) {
        this.campoNumero = hit;
    }
    private HtmlInputText campoComplemento = new HtmlInputText();

    public HtmlInputText getCampoComplemento() {
        return campoComplemento;
    }

    public void setCampoComplemento(HtmlInputText hit) {
        this.campoComplemento = hit;
    }
    private HtmlInputText campoBairro = new HtmlInputText();

    public HtmlInputText getCampoBairro() {
        return campoBairro;
    }

    public void setCampoBairro(HtmlInputText hit) {
        this.campoBairro = hit;
    }
    private HtmlInputText campoCep = new HtmlInputText();

    public HtmlInputText getCampoCep() {
        return campoCep;
    }

    public void setCampoCep(HtmlInputText hit) {
        this.campoCep = hit;
    }
    private HtmlSelectOneMenu opcaoUf = new HtmlSelectOneMenu();

    public HtmlSelectOneMenu getOpcaoUf() {
        return opcaoUf;
    }

    public void setOpcaoUf(HtmlSelectOneMenu hsom) {
        this.opcaoUf = hsom;
    }
    private HtmlInputText campoRua = new HtmlInputText();

    public HtmlInputText getCampoRua() {
        return campoRua;
    }

    public void setCampoRua(HtmlInputText hit) {
        this.campoRua = hit;
    }
    private HtmlCommandButton botao_buscar = new HtmlCommandButton();

    public HtmlCommandButton getBotao_buscar() {
        return botao_buscar;
    }

    public void setBotao_buscar(HtmlCommandButton hcb) {
        this.botao_buscar = hcb;
    }
    private DefaultSelectedData selectOneRadio1Bean = new DefaultSelectedData();

    public DefaultSelectedData getSelectOneRadio1Bean() {
        return selectOneRadio1Bean;
    }

    public void setSelectOneRadio1Bean(DefaultSelectedData dsd) {
        this.selectOneRadio1Bean = dsd;
    }
    private DefaultSelectedData defaultSelectedData1 = new DefaultSelectedData();

    public DefaultSelectedData getDefaultSelectedData1() {
        return defaultSelectedData1;
    }

    public void setDefaultSelectedData1(DefaultSelectedData dsd) {
        this.defaultSelectedData1 = dsd;
    }
    private DefaultSelectionItems selectOneMenu1DefaultItems = new DefaultSelectionItems();

    public DefaultSelectionItems getSelectOneMenu1DefaultItems() {
        return selectOneMenu1DefaultItems;
    }

    public void setSelectOneMenu1DefaultItems(DefaultSelectionItems dsi) {
        this.selectOneMenu1DefaultItems = dsi;
    }
    private HtmlSelectOneMenu campoCidade = new HtmlSelectOneMenu();

    public HtmlSelectOneMenu getCampoCidade() {
        return campoCidade;
    }

    public void setCampoCidade(HtmlSelectOneMenu hsom) {
        this.campoCidade = hsom;
    }
    private DefaultSelectedData botaoSelecionadoTipoEndereco = new DefaultSelectedData();

    public DefaultSelectedData getBotaoSelecionadoTipoEndereco() {
        return botaoSelecionadoTipoEndereco;
    }

    public void setBotaoSelecionadoTipoEndereco(DefaultSelectedData dsd) {
        this.botaoSelecionadoTipoEndereco = dsd;
    }
    private DefaultSelectionItems botoesTipoEndereco = new DefaultSelectionItems();

    public DefaultSelectionItems getBotoesTipoEndereco() {
        return botoesTipoEndereco;
    }

    public void setBotoesTipoEndereco(DefaultSelectionItems dsi) {
        this.botoesTipoEndereco = dsi;
    }
    private HtmlCommandButton btnConfirmaAlterar = new HtmlCommandButton();

    public HtmlCommandButton getBtnConfirmaAlterar() {
        return btnConfirmaAlterar;
    }

    public void setBtnConfirmaAlterar(HtmlCommandButton hcb) {
        this.btnConfirmaAlterar = hcb;
    }
    private SelectInputText campoABuscar = new SelectInputText();

    public SelectInputText getCampoABuscar() {
        return campoABuscar;
    }

    public void setCampoABuscar(SelectInputText sit) {
        this.campoABuscar = sit;
    }
    private PopupBean panelPopup1Bean = new PopupBean();

    public PopupBean getPanelPopup1Bean() {
        return panelPopup1Bean;
    }

    public void setPanelPopup1Bean(PopupBean pb) {
        this.panelPopup1Bean = pb;
    }
    private PopupBean panelPopup1Bean1 = new PopupBean();

    public PopupBean getPanelPopup1Bean1() {
        return panelPopup1Bean1;
    }

    public void setPanelPopup1Bean1(PopupBean pb) {
        this.panelPopup1Bean1 = pb;
    }
    private HtmlOutputText textoPopUpAviso = new HtmlOutputText();

    public HtmlOutputText getTextoPopUpAviso() {
        return textoPopUpAviso;
    }

    public void setTextoPopUpAviso(HtmlOutputText hot) {
        this.textoPopUpAviso = hot;
    }
    private HtmlCommandButton btn_popUpAviso1 = new HtmlCommandButton();

    public HtmlCommandButton getBtn_popUpAviso1() {
        return btn_popUpAviso1;
    }

    public void setBtn_popUpAviso1(HtmlCommandButton hcb) {
        this.btn_popUpAviso1 = hcb;
    }
    private HtmlCommandButton btn_popUpAviso2 = new HtmlCommandButton();

    public HtmlCommandButton getBtn_popUpAviso2() {
        return btn_popUpAviso2;
    }

    public void setBtn_popUpAviso2(HtmlCommandButton hcb) {
        this.btn_popUpAviso2 = hcb;
    }
    private PanelPopup painelPopUpAviso = new PanelPopup();

    public PanelPopup getPainelPopUpAviso() {
        return painelPopUpAviso;
    }

    public void setPainelPopUpAviso(PanelPopup pp) {
        this.painelPopUpAviso = pp;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterFirstButton = new HtmlCommandButton();

   
    private PopupBean panelPopup1Bean2 = new PopupBean();

    public PopupBean getPanelPopup1Bean2() {
        return panelPopup1Bean2;
    }

    public void setPanelPopup1Bean2(PopupBean pb) {
        this.panelPopup1Bean2 = pb;
    }
    private HtmlCommandButton btnPopUp1 = new HtmlCommandButton();

    public HtmlCommandButton getBtnPopUp1() {
        return btnPopUp1;
    }

    public void setBtnPopUp1(HtmlCommandButton hcb) {
        this.btnPopUp1 = hcb;
    }
    private HtmlCommandButton btnPopUp2 = new HtmlCommandButton();

    public HtmlCommandButton getBtnPopUp2() {
        return btnPopUp2;
    }

    public void setBtnPopUp2(HtmlCommandButton hcb) {
        this.btnPopUp2 = hcb;
    }
    private HtmlOutputText textoPopUp = new HtmlOutputText();

    public HtmlOutputText getTextoPopUp() {
        return textoPopUp;
    }

    public void setTextoPopUp(HtmlOutputText hot) {
        this.textoPopUp = hot;
    }
    private HtmlCommandLink link_abaAnterior = new HtmlCommandLink();

    public HtmlCommandLink getLink_abaAnterior() {
        return link_abaAnterior;
    }

    public void setLink_abaAnterior(HtmlCommandLink hcl) {
        this.link_abaAnterior = hcl;
    }
    private HtmlCommandLink tx_opCancelarAba01 = new HtmlCommandLink();

    public HtmlCommandLink getTx_opCancelarAba01() {
        return tx_opCancelarAba01;
    }

    public void setTx_opCancelarAba01(HtmlCommandLink hcl) {
        this.tx_opCancelarAba01 = hcl;
    }
    private HtmlCommandLink tx_opCancelarAba02 = new HtmlCommandLink();

    public HtmlCommandLink getTx_opCancelarAba02() {
        return tx_opCancelarAba02;
    }

    public void setTx_opCancelarAba02(HtmlCommandLink hcl) {
        this.tx_opCancelarAba02 = hcl;
    }
    

    public HtmlCommandButton getTabelaResultadoBuscaFooterFirstButton() {
        return tabelaResultadoBuscaFooterFirstButton;
    }

    public void setTabelaResultadoBuscaFooterFirstButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterFirstButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterPreviousButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterPreviousButton() {
        return tabelaResultadoBuscaFooterPreviousButton;
    }

    public void setTabelaResultadoBuscaFooterPreviousButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterPreviousButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterNextButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterNextButton() {
        return tabelaResultadoBuscaFooterNextButton;
    }

    public void setTabelaResultadoBuscaFooterNextButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterNextButton = hcb;
    }
    private HtmlCommandButton tabelaResultadoBuscaFooterLastButton = new HtmlCommandButton();

    public HtmlCommandButton getTabelaResultadoBuscaFooterLastButton() {
        return tabelaResultadoBuscaFooterLastButton;
    }

    public void setTabelaResultadoBuscaFooterLastButton(HtmlCommandButton hcb) {
        this.tabelaResultadoBuscaFooterLastButton = hcb;
    }

    // </editor-fold>
    public BuscarRepresentante() {
    }

    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();
        FacesContext.getCurrentInstance().getExternalContext().getRequestMap().clear();
        limpaCampos();
        inicializaCampos();

        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("BuscarRepresentante Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e : new FacesException(e);
        }

    // </editor-fold>

    }

    public void inicializaCampos() {
        campoNome.setMaxlength(100);
        campoEmail.setMaxlength(50);
        campoPaginaWeb.setMaxlength(50);
        campoRua.setMaxlength(50);
        campoComplemento.setMaxlength(50);
        campoBairro.setMaxlength(50);
        botaoTipoBusca.clear();
        botaoTipoBusca.add(new SelectItem(1, "Nome"));
        botaoTipoBusca.add(new SelectItem(3, "Todos"));
        this.setarCampos(true);
        painelAbasRepresentante.setSelectedIndex(0);
        dataTable1Model.setWrappedData(null);
        painelPopUpAviso.setRendered(false);
        //UF
        botaoOpcaoUf.clear();
        botaoOpcaoUf.add(new SelectItem(1, "AC"));
        botaoOpcaoUf.add(new SelectItem(2, "AL"));
        botaoOpcaoUf.add(new SelectItem(3, "AP"));
        botaoOpcaoUf.add(new SelectItem(4, "AM"));
        botaoOpcaoUf.add(new SelectItem(5, "BA"));
        botaoOpcaoUf.add(new SelectItem(6, "CE"));
        botaoOpcaoUf.add(new SelectItem(7, "DF"));
        botaoOpcaoUf.add(new SelectItem(8, "ES"));
        botaoOpcaoUf.add(new SelectItem(9, "GO"));
        botaoOpcaoUf.add(new SelectItem(10, "MA"));
        botaoOpcaoUf.add(new SelectItem(11, "MT"));
        botaoOpcaoUf.add(new SelectItem(12, "MS"));
        botaoOpcaoUf.add(new SelectItem(13, "MG"));
        botaoOpcaoUf.add(new SelectItem(14, "PA"));
        botaoOpcaoUf.add(new SelectItem(15, "PB"));
        botaoOpcaoUf.add(new SelectItem(16, "PR"));
        botaoOpcaoUf.add(new SelectItem(17, "PE"));
        botaoOpcaoUf.add(new SelectItem(18, "PI"));
        botaoOpcaoUf.add(new SelectItem(19, "RJ"));
        botaoOpcaoUf.add(new SelectItem(20, "RN"));
        botaoOpcaoUf.add(new SelectItem(21, "RS"));
        botaoOpcaoUf.add(new SelectItem(22, "RO"));
        botaoOpcaoUf.add(new SelectItem(23, "RR"));
        botaoOpcaoUf.add(new SelectItem(24, "SC"));
        botaoOpcaoUf.add(new SelectItem(25, "SP"));
        botaoOpcaoUf.add(new SelectItem(26, "SE"));
        botaoOpcaoUf.add(new SelectItem(27, "TO"));
        InicializaCampoCidade(1);
        selectOneMenu1DefaultItems.clear();
        selectOneMenu1DefaultItems.add(new SelectItem(1, "Descricao"));
        selectOneMenu1DefaultItems.add(new SelectItem(2, "E-Mail"));
        selectOneMenu1DefaultItems.add(new SelectItem(3, "Todos"));
        btnAlterar.setRendered(false);
        btn_excluir.setRendered(false);
        btnConfirmaAlterar.setRendered(false);
        this.controlaPaginacao(0);
    }

    @Override
    public void preprocess() {
    }

    @Override
    public void prerender() {
    }

    @Override
    public void destroy() {
    }

    protected SessionBean1 getview$SessionBean1() {
        return (SessionBean1) getBean("view$SessionBean1");
    }

    protected RequestBean1 getview$RequestBean1() {
        return (RequestBean1) getBean("view$RequestBean1");
    }

    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    protected CadastrarPessoaFisica getview$CadastrarPessoaFisica() {
        return (CadastrarPessoaFisica) getBean("view$CadastrarPessoaFisica");
    }

    protected BuscarPessoaFisica getview$BuscarPessoaFisica() {
        return (BuscarPessoaFisica) getBean("view$BuscarPessoaFisica");
    }

    protected ApplicationBean1 getview$ApplicationBean1() {
        return (ApplicationBean1) getBean("view$ApplicationBean1");
    }

    protected CadastrarVendedor getview$CadastrarVendedor() {
        return (CadastrarVendedor) getBean("view$CadastrarVendedor");
    }

    public String link_proximoPassoAba01_action() {
        
        valida.verificaCampoVazio(campoNome);
        painelAbasRepresentante.setSelectedIndex(1);
        return null;
    }

    public void setarCampos(boolean x) {
        campoCodigo.setDisabled(x);
        campoNome.setDisabled(x);
        dataCadastro.setDisabled(x);
        campoEmail.setDisabled(x);
        campoPaginaWeb.setDisabled(x);
        campoTelefoneCelular.setDisabled(x);
        campoRua.setDisabled(x);
        campoNumero.setDisabled(x);
        campoBairro.setDisabled(x);
        campoCep.setDisabled(x);
        campoCidade.setDisabled(x);
        campoComplemento.setDisabled(x);
        campoTelefoneComercial.setDisabled(x);
        opcaoUf.setDisabled(x);
    }

    public void limpaCampos() {
        campoCodigo.setValue("");
        campoNome.setValue("");
        dataCadastro.resetValue();
        campoEmail.setValue("");
        campoPaginaWeb.setValue("");
        campoTelefoneCelular.setValue("");
        campoRua.setValue("");
        campoNumero.setValue("");
        campoBairro.setValue("");
        campoCep.setValue("");
        campoCidade.setValue("");
        campoComplemento.setValue("");
        campoTelefoneComercial.setValue("");
        btnAlterar.setRendered(false);

    }

    public String btnAlterar_action() {

        this.setarCampos(false);

        btn_excluir.setRendered(false);
        btnAlterar.setRendered(false);
        btn_editar1.setRendered(false);
        btnConfirmaAlterar.setRendered(true);

        return null;
    }

    public String btnConfirmaAlterar_action() {
        
            btnConfirmaAlterar.setReadonly(false);
            valida.verificaCampoVazio(campoNome);
            valida.verificaCampoVazio(campoRua);
            valida.verificaCampoVazio(campoNumero);
            valida.verificaCampoVazio(campoBairro);
            valida.verificaCampoVazio(campoCep);

            if(valida.verificaCampoVazio(campoNome)){
                painelAbasRepresentante.setSelectedIndex(0);
                controlaPopup(true,"Campos Obrigatório!",false,true,"","Ok");
            }
            else if(valida.verificaCampoVazio(campoRua)||valida.verificaCampoVazio(campoNumero)||valida.verificaCampoVazio(campoBairro)||valida.verificaCampoVazio(campoCep)){
                painelAbasRepresentante.setSelectedIndex(1);
                controlaPopup(true,"Campos Obrigatório!",false,true,"","Ok");
                }
                else{
                    controlaPopUp = 2;
                    controlaPopup(true,"Deseja Alterar Este Fornecedor?",true,true,"Sim","Não");
        }
        return null;
    }

    public List<RepresentanteVO> getListaDeRepresentantes() {
        return listaDeRepresentantes;
    }

    public void setListaDeRepresentantes(List<RepresentanteVO> listaDeRepresentantes) {
        this.listaDeRepresentantes = listaDeRepresentantes;
    }

    public String botao_buscar_action() {
        SessionFacadeBuscarImplements facade_busca = new SessionFacadeBuscarImplements();
        switch (Integer.parseInt(tipoBusca.getValue().toString())) {
            case 1://busca por nome
                this.setListaDeRepresentantes(facade_busca.buscaPorNome("nome", campoABuscar.getValue().toString(), RepresentanteVO.class));
                dataTable1Model.setWrappedData(this.getListaDeRepresentantes());
                break;
            case 3://busca todos
                this.setListaDeRepresentantes(facade_busca.buscarTodos("codPessoa", RepresentanteVO.class));
                dataTable1Model.setWrappedData(this.getListaDeRepresentantes());
                break;
            default:
                System.out.println("Valor inválido do combobox para o tipo da consulta.");
                break;
        }//fim switch
       this.setPaginacaoBusca(new PaginacaoListaDezEmDez(this.getListaDeRepresentantes()));
        //defini o estado dos botoes da tabela de busca
        this.controlaPaginacao(this.getListaDeRepresentantes().size());
        //  this.controlaPaginacao(this.getListaDeRepresentantes().size());


        return null;
    }

    //metodo para preenchimento do combobox fornecedor
    public DefaultSelectionItems InicializaCampoCidade(int codEstado) {
        SessionFacadeBuscarImplements facadeBusca = new SessionFacadeBuscarImplements();
        DefaultSelectionItems itens = new DefaultSelectionItems();
        itens.clear();
        try {
            //String campo_desejado, String oque_buscar,String nomeObjetoAssociado,Class classe
            List<CidadeVO> listaCidades = facadeBusca.buscaTodosComAssociacao("codEstado", codEstado, "codEstado", "codCidade", CidadeVO.class);
            int j = 0;
            while (j < listaCidades.size()) {
                itens.add(new SelectItem(listaCidades.get(j).getCodCidade(), listaCidades.get(j).getNome()));
                j++;
            }
            this.setSelectOneMenu1DefaultItems(itens);
        } catch (NullPointerException e) {
            System.err.print("Erro em inicializar o combobox:" + e.getMessage());
        }
        return null;
    }

    public String linkAction1_action() {

        this.representante = (RepresentanteVO) tabelaResultadoBusca.getRowData(); //pega o objeto da linha selecionada
        endereco = (EnderecoVO) representante.getEndereco().iterator().next();
        campoCodigo.setValue(representante.getCodPessoa());
        campoNome.setValue(representante.getNome());
        campoTelefoneCelular.setValue(representante.getTelefoneUm());
        campoTelefoneComercial.setValue(representante.getTelefoneDois());
        dataCadastro.setValue(representante.getDataCadastro());
        campoEmail.setValue(representante.getEmail());
        campoPaginaWeb.setValue(representante.getPaginaWeb());
        campoRua.setValue(endereco.getRua());
        campoNumero.setValue(endereco.getNumero());
        campoComplemento.setValue(endereco.getComplemento());
        campoBairro.setValue(endereco.getBairro());
        campoCep.setValue(endereco.getCep());
        this.InicializaCampoCidade(endereco.getCidades().getCodEstado().getCodEstado());
        campoCidade.setValue(endereco.getCidades().getCodCidade());
        opcaoUf.setValue(new Integer(endereco.getCidades().getCodEstado().getCodEstado()));
        this.setarCampos(true);
        painelAbasRepresentante.setSelectedIndex(0);
        btnAlterar.setRendered(true);
        btn_excluir.setRendered(true);
        btnConfirmaAlterar.setRendered(false);
        
        

            valida.verificaCampoVazio(campoNome);
            valida.verificaCampoVazio(campoRua);
            valida.verificaCampoVazio(campoNumero);
            valida.verificaCampoVazio(campoBairro);
            valida.verificaCampoVazio(campoCep);
        return null;
    }

    public void opcaoUf_processValueChange(ValueChangeEvent vce) {
        InicializaCampoCidade(Integer.parseInt(opcaoUf.getValue().toString()));
    }

    //Botão Excluir
    public String btn_excluir_action() {
        controlaPopUp = 1;
         controlaPopup(true, "Deseja Excluir este Representante?", true, true, "Sim", "Não");

        return null;
    }

    public String btn_voltar_action() {
        controlaSaida = 1;
        controlaPopup(true, "Deseja Sair ?", true, true, "Sim", "Não");
        return null;
    }

    //ProcessValueChange CampoABuscar
    public void campoABuscar_processValueChange(ValueChangeEvent vce) {
        if (Integer.parseInt(tipoBusca.getValue().toString()) == 1) {
            item = new SessionFacadeBuscarImplements().consultaSelectInputText(9, "nome", campoABuscar.getValue().toString(), RepresentanteVO.class);
        }
    }

    public void tipoBusca_processValueChange(ValueChangeEvent vce) {
         if(Integer.parseInt(tipoBusca.getValue().toString())==1){
            campoABuscar.setReadonly(false);
            campoABuscar.setValue("");
        }
        else
         if(Integer.parseInt(tipoBusca.getValue().toString())==3){
            campoABuscar.setReadonly(true);
            campoABuscar.setValue("");
        }
        btnAlterar.setRendered(false);
        btn_excluir.setRendered(false);
        btnConfirmaAlterar.setRendered(false);
        dataTable1Model.setWrappedData(null);
        this.limpaCampos();


    }

    public String tabelaResultadoBusca_firstPageAction() {
        {
            dataTable1Model.setWrappedData(BuscarProduto.getPaginacaoBusca().firstPage());
            tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
            tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
            if (BuscarProduto.getPaginacaoBusca().getTotalPaginas() > 1) {
                tabelaResultadoBuscaFooterNextButton.setDisabled(false);
                tabelaResultadoBuscaFooterLastButton.setDisabled(false);
      }
      return null;
   }
  }

    public String tabelaResultadoBusca_previousPageAction() {
        {
           dataTable1Model.setWrappedData(BuscarProduto.getPaginacaoBusca().previousPage());
      if (BuscarProduto.getPaginacaoBusca().getNumeroDaPagina() == 1) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
      }
      if (BuscarProduto.getPaginacaoBusca().getTotalPaginas() > 1) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(false);
         tabelaResultadoBuscaFooterLastButton.setDisabled(false);
      }
      if (BuscarProduto.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }
    }

    public String tabelaResultadoBusca_nextPageAction() {
       dataTable1Model.setWrappedData(BuscarProduto.getPaginacaoBusca().nextPage());
      tabelaResultadoBuscaFooterPreviousButton.setDisabled(false);
      if (BuscarProduto.getPaginacaoBusca().getTotalPaginas() == BuscarProduto.getPaginacaoBusca().getNumeroDaPagina()) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
      }
      if (BuscarProduto.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }

    public String tabelaResultadoBusca_lastPageAction() {
       dataTable1Model.setWrappedData(BuscarProduto.getPaginacaoBusca().lastPage());
      if (BuscarProduto.getPaginacaoBusca().getTotalPaginas() == BuscarProduto.getPaginacaoBusca().getNumeroDaPagina()) {
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(false);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      if (BuscarProduto.getPaginacaoBusca().getNumeroDaPagina() >= 2) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(false);
      }
      return null;
   }

    public void controlaPaginacao(int controlePaginas) {
      if (controlePaginas <= 10) {
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
         tabelaResultadoBuscaFooterNextButton.setDisabled(true);
         tabelaResultadoBuscaFooterLastButton.setDisabled(true);
      }
      if (controlePaginas > 10) {
         tabelaResultadoBuscaFooterNextButton.setDisabled(false);
         tabelaResultadoBuscaFooterLastButton.setDisabled(false);
         tabelaResultadoBuscaFooterFirstButton.setDisabled(true);
         tabelaResultadoBuscaFooterPreviousButton.setDisabled(true);
      }
   }


    public void controlaPopup(boolean renderedPopup, String textoPoup, boolean btn1Rendered, boolean btn2Rendered,
            String textobtn1, String textobtn2) {

        painelPopUpAviso.setRendered(renderedPopup);
        textoPopUp.setValue(textoPoup);
        btnPopUp1.setValue(textobtn1);
        btnPopUp1.setRendered(btn1Rendered);
        btnPopUp2.setRendered(btn2Rendered);
        btnPopUp2.setValue(textobtn2);
    }

    public String btnPopUp1_action() {
        if (controlaSaida == 1) {
            return "voltar";
        }
        //Excluir
        if (controlaPopUp == 1) {
            SessionFacadeRemoverImplements remover = new SessionFacadeRemoverImplements();
            try {
                remover.removerRepresentante(representante, endereco);
                controlaPopup(true,"Representante Excluído com Sucesso",false,true,"","Ok");
                botao_buscar_action();
                this.limpaCampos();
                this.setarCampos(true);
               
            } catch (Exception e) {
                controlaPopup(true,"Erro ao Excluir Representante",false,true,"","Ok");
              }
        } else //Alterar
        if (controlaPopUp == 2) {
            SessionFacadeAlterarImplements alterar = new SessionFacadeAlterarImplements();
            Date datacadastro = (Date) (Object) dataCadastro.getValue();
            try {
                if (alterar.alterarRepresentante(Integer.parseInt(campoCodigo.getValue().toString()), campoNome.getValue().toString(), campoTelefoneCelular.getValue().toString(), campoTelefoneComercial.getValue().toString(),
                        campoEmail.getValue().toString(), campoPaginaWeb.getValue().toString(), "", datacadastro,
                        endereco.getCodEndereco(), campoRua.getValue().toString(), campoBairro.getValue().toString(), campoCep.getValue().toString(),
                        campoNumero.getValue().toString(), campoComplemento.getValue().toString(), (Integer.parseInt(campoCidade.getValue().toString())))) {
                    controlaPopup(true,"Representante Alterado com Sucesso",false,true,"","Ok");
                    btnConfirmaAlterar.setReadonly(false);
                    botao_buscar_action();
                    this.limpaCampos();
                    this.setarCampos(true);
                }

            } catch (Exception e) {
                controlaPopup(true,"Erro ao Alterar",false,true,"","Ok");
                System.out.println("Erro:" + e.getMessage() + "caused by: " + e.getStackTrace());
            }

        }
        return null;
    }

    public String btnPopUp2_action() {
        painelPopUpAviso.setRendered(false);
        return null;
    }

    public String link_abaAnterior_action() {
        valida.verificaCampoVazio(campoRua);
        valida.verificaCampoVazio(campoNumero);
        valida.verificaCampoVazio(campoBairro);
        valida.verificaCampoVazio(campoCep);
        painelAbasRepresentante.setSelectedIndex(0);
        return null;
    }

    public String tx_opCancelarAba01_action() {
        campoABuscar.resetValue();
        limpaCampos();
        painelAbasRepresentante.setSelectedIndex(0);
        dataTable1Model.setWrappedData(null);
        this.setarCampos(true);
        return null;
    }

    public String tx_opCancelarAba02_action() {
        limpaCampos();
        painelAbasRepresentante.setSelectedIndex(0);
        dataTable1Model.setWrappedData(null);
        this.setarCampos(true);
        return null;
    }

}